package com.chaike.hsq.storage;

import com.chaike.hsq.properties.HuiShouQianProperties;

import java.security.PrivateKey;
import java.security.PublicKey;

/**
 * 配置存储实现.
 *
 * @author Luo
 * @version 1.0
 * @date 2021-12-31 10:51:00
 */
public interface HsqConfigStorage {

    /**
     * 获取文件上传URL.
     *
     * @return 文件上传URL
     */
    String getUploadUrl();

    /**
     * 获取代理商编号.
     *
     * @return 代理商编号
     */
    String getAgentMerchantNo();

    /**
     * 获取私钥证书文件路径.
     *
     * @return 私钥证书文件路径
     */
    String getPfxPath();

    /**
     * 获取私钥密码.
     *
     * @return 私钥密码
     */
    String getPfxPwd();

    /**
     * 获取公钥证书文件路径.
     *
     * @return 公钥证书文件路径
     */
    String getCerPath();

    /**
     * 获取私钥.
     *
     * @return 私钥
     */
    PrivateKey getPrivateKey();

    /**
     * 获取公钥.
     *
     * @return 公钥
     */
    PublicKey getPublicKey();

    /**
     * 获取商户配置.
     *
     * @return 商户配置
     */
    HuiShouQianProperties.Merchant getMerchant();

    /**
     * 获取支付配置.
     *
     * @return 支付配置
     */
    HuiShouQianProperties.Pay getPay();

}
